<!DOCTYPE html>
<html>
  <head>
    <title>拖放示例-文本</title>
  </head>
  <style></style>
  <body>
    <div class="src">
      <div class="dragabled">
        <div class="txt" id="txt">
          <p draggable="true">此段文字设置了属性draggable="true"</p>
        </div>
      </div>
    </div>
    <script>
      var dragSrc = document.getElementById("txt");
      // 拖动开始
      dragSrc.ondragstart = function (e) {
        console.log("拖动开始");
      };
      var timerId = null;
      var last; // 上次执行的时间
      var gapTime = 500; // 间隔执行的时间
      // 拖动中
      dragSrc.ondrag = function () {
        // 拖动的过程中会一直被触发，怎么限制触发的频率呢？ 记录拖动触发的事件
        var nowTime = +new Date();
        if (last && nowTime < last + gapTime) {
          clearTimeout(timerId);
          timerId = setTimeout(function () {
            last = +new Date();
            console.log("拖动中");
          }, gapTime);
        } else {
          last = nowTime
          console.log("拖动中");
        }
      };
      dragSrc.ondragend = function () {
        // 拖动结束
        console.log("拖动结束");
      };
    </script>
  </body>
</html>
